package com.oitsm.mo.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import com.oitsm.commons.entity.JSONAble;
import com.oitsm.plugin.entity.PropMeta;

/**
 * 自动发现元数据类
 * @author Arab Runner
 * Jul 31, 2011 11:51:48 AM
 */
@SuppressWarnings("serial")
@Entity
@Table(name="discover_meta")
public class DiscoverMeta extends JSONAble implements Serializable{
	/**
	 * id
	 */
	@Id
	@Column(name="id")
	@GeneratedValue(strategy=GenerationType.AUTO,generator="")
	private Long id;
	
	/**
	 * text
	 */
	@Column(name="text")   
	private String text;
	
	/**
	 * 图标
	 */
	@Column(name="icon")   
	private String icon;
	
	/**
	 * 描述
	 */
	@Column(name="desc")   
	private String desc;
	
	/**
	 * 自动发现执行器
	 */
	@Column(name="excutor")   
	private String excutor;
	
	/**
	 * 排序
	 */
	@Column(name="order")   
	private Integer order;
	
	/**
	 * 自动发现参数
	 */
	@javax.persistence.Transient
	private List<PropMeta> props = new ArrayList<PropMeta>();
	
	public DiscoverMeta(){}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}

	public String getIcon() {
		return icon;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	public String getDesc() {
		return desc;
	}

	public void setDesc(String desc) {
		this.desc = desc;
	}

	public String getExcutor() {
		return excutor;
	}

	public void setExcutor(String excutor) {
		this.excutor = excutor;
	}

	public Integer getOrder() {
		return order;
	}

	public void setOrder(Integer order) {
		this.order = order;
	}

	public List<PropMeta> getProps() {
		return props;
	}

	public void setProps(List<PropMeta> props) {
		this.props = props;
	}
}
